h1 {text-align: center; font-size: 50px }
body{background-color: skyblue;}
 .flex
   {
      /* basic styling */
      width: 600px;
      height: 350px;
      border: 5px solid #555;
      font: 26px comic sans-serif; text-align: center;
      margin: auto;

      /* flexbox setup */
      display: -webkit-flex;
      -webkit-flex-direction:column;

      display: flex;
      flex-direction: column;
   }

   .flex > div
   {
      -webkit-flex: 1 1 auto;
      flex: 1 1 auto;

     height: 30px; /* To make the transition work nicely.  (Transitions to/from
                      "width:auto" are buggy in Gecko and Webkit, at least.
                      See http://bugzil.la/731886 for more info.) */

      -webkit-transition: height 0.7s ease-out;
      transition: height 0.7s ease-out;
   }

   /* colors */
   .flex > div:nth-child(1){ background : #416FD9; }
   .flex > div:nth-child(2){ background : #27F5C8; }
   .flex > div:nth-child(3){ background : #F527BE; }
   
   .flex > div:hover
   {
        height: 200px;
 }
   